function MyInfoBox(opts) {
    google.maps.OverlayView.call(this);
    this.latlng_ = opts.latlng;
    this.map_ = opts.map;
    this.offsetVertical_ = -113;
    this.offsetHorizontal_ = -41;
    this.height_ = 200;
    this.width_ = 200;
    this.content_ = opts.content;
    this.setMap(this.map_);
}
MyInfoBox.prototype = new google.maps.OverlayView();
MyInfoBox.prototype.remove = function() {
    if (this.div_) {
        this.div_.parentNode.removeChild(this.div_);
        this.div_ = null;
    }
};
MyInfoBox.prototype.draw = function() {
    this.createElement();
    if (!this.div_)
        return;
    var pixPosition = this.getProjection().fromLatLngToDivPixel(this.latlng_);
    if (!pixPosition)
        return;
    this.div_.style.width = this.width_ + "px";
    this.div_.style.left = (pixPosition.x + this.offsetHorizontal_) + "px";
    this.div_.style.height = this.height_ + "px";
    this.div_.style.top = (pixPosition.y + this.offsetVertical_) + "px";
    this.div_.style.display = 'block';
};
